package com.itheima.tlias.config;

import com.aliyun.oss.OSS;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;

import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;

/**
 * 阿里云Oss客户端
 */
@Component
public class OssClient {

    @Resource
    private OSS ossBean;
    @Resource
    private AliyunOssConfig ossConfig;

    /**
     * 阿里云上床图片方法
     * @param fileName 文件名
     * @param inputStream 文件输入流对象
     * @return 上传之后返回的访问阿里云oss的Url地址
     */
    public String upload(String fileName, InputStream inputStream){
        int i = fileName.lastIndexOf(".");
        String suffix = fileName.substring(i);
        //生成不重复id
        String uuid = UUID.randomUUID().toString();
        //填写object完整路径，完整路径中不能包含Bucket名称，例如exampledir/exampleobject.txt。
        String objectName = uuid+suffix;
        //转移文件到阿里云OSS
        // 创建OSSClient实例。
        ossBean.putObject(ossConfig.getBucketName(), objectName, inputStream);
        return ossConfig.getUrl()+objectName;
    }

}
